/*
 * $Id$
 *
 * Copyright 2008 HuangHuang. All rights reserved.
 */

package com.crm.service.utils;

import java.util.Date;
import java.util.Locale;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.text.SimpleDateFormat;

/**
 * 字符串检查工具。
 *
 * @author <a href="mailto:huang0510@hotmail.com">HuangHuang</a>
 * @version $Id$
 */
public class ServiceUtils {

    public static final String FORMAT_USER_CODE = "yyMMddHHmmss";
    
    public static final Date MIN_DATE = new GregorianCalendar(1900, 0, 1).getTime();

    public static final Date MAX_DATE = new GregorianCalendar(9999, 11, 31).getTime();

    private ServiceUtils() {
    }

    /**
     * 将字符串的空值转换为空字符串。
     *
     * @param s 被检查的字符串
     * @return 返回转换后的字符串
     */
    public static String convertNull(String s) {
        return isNull(s) ? "" : s;
    }

    /**
     * 检查字符串是否空值或空字符串。
     *
     * @param s 被检查的字符串
     * @return  如果字符串是空的就返回true，否则返回false
     */
    public static boolean isNull(String s) {
        return s == null || "".equals(s);
    }

    /**
     * 去除字符串中的所有空格并转换为小写。
     *
     * @param str 源字符串
     * @return 返回转换后的字符串
     */
    public static String convert(String str) {
        return str.replaceAll(" ", "").toLowerCase();
    }

    public static String formatDate(Date date,String pattern){
        SimpleDateFormat formatter = new SimpleDateFormat(pattern, Locale.getDefault());
        return formatter.format(date);
    }
}
